home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD001b.dsk / USING.bas < prev   
BASIC Source File  |  2003-06-12  |  2KB  |  43 lines

  1. 1  REM  USING
  2. 2  REM  IMITATES PRINT USING
  3. 3  REM  SUBROUTINE STARTS AT 1000
  4. 4  REM  PASS IT 4 PARAMETERS
  5. 5  REM  ND = MAX NUMBER OF DIGITS
  6. 6  REM  DP = NUMBER OF DIGITS TO
  7. 7  REM       THE RIGHT OF THE
  8. 8  REM       DECIMAL POINT
  9. 9  REM  CM = 1 IF YOU WANT
  10. 10  REM             COMMAS
  11. 11  REM    = 0 IF YOU DON'T
  12. 12  REM        WANT COMMAS
  13. 13  REM NB = NUMBER TO BE EDITED
  14. 14  REM 
  15. 15  REM EDITED NUMBER IS RETURNED
  16. 16  REM IN THE STRING NB$
  17. 17  REM ------------------------
  18. 18  HOME : VTAB 5
  19. 20  INPUT "MAXIMUN NUMBER OF DIGITS ";ND
  20. 30  INPUT "NUMBER OF DECIMAL PLACES ";DP
  21. 40  INPUT "    WANT COMMAS (Y OR N) ";R$
  22. 50 CM = 0: IF R$ = "Y"  THEN CM = 1
  23. 55  PRINT "---------------------------"
  24. 60  INPUT "NUMBER TO BE EDITED ";NB
  25. 65  PRINT NB
  26. 70  GOSUB 1000: INVERSE : PRINT NB$: NORMAL : GOTO 55
  27. 999  REM ========================
  28. 1000  REM   USING SUBROUTINE
  29. 1001 SP$ = "        ":ZS$ = "00000000":AS$ = "********":Z = 0:W = 1
  30. 1002 NB$ =  STR$( INT((NB +(5/10 ^(DP +W))) *10 ^DP))
  31. 1005  IF  LEFT$(NB$,W) = "-"  THEN NB$ =  RIGHT$(NB$, LEN(NB$) -W)
  32. 1010  IF  LEN(NB$) >ND  THEN NB$ =  LEFT$(AS$,ND)
  33. 1015 NN = DP +W - LEN(NB$): IF NN >Z  THEN NB$ =  LEFT$(ZS$,NN) +NB$
  34. 1020 NN = ND - LEN(NB$): IF NN >Z  THEN NB$ =  LEFT$(SP$,NN) +NB$
  35. 1025  IF DP >Z  THEN NB$ =  LEFT$(NB$,ND -DP) +"." + RIGHT$(NB$,DP)
  36. 1030  IF CM = Z GOTO 1055
  37. 1035 NN = ND: IF DP < >Z  THEN NN = ND -DP
  38. 1040 NN = NN -3: IF NN <W GOTO 1055
  39. 1045 SN$ = ",": IF  MID$ (NB$,NN,W) = " "  THEN SN$ = " "
  40. 1050 NB$ =  LEFT$(NB$,NN) +SN$ + RIGHT$(NB$, LEN(NB$) -NN): GOTO 1040
  41. 1055 SN$ = " ": IF NB <Z  THEN SN$ = "-"
  42. 1060 NB$ = NB$ +SN$: RETURN 
  43. 1070  REM =======================